线程“main”java中出现异常。lang.NoClassDefFoundError在我的测试中出现错误
我知道这个问题已经问过很多次了,但我想不出来(
我有一个大项目,结构如下:
Project - build
- Config
- src
- tst
- build.xml
- webapp
- eclipse-bin
tst/com/myspace/gateway/content/restlet/SanityTest下有一个java文件。JAVA 在java文件中:
package com.myspace.gateway.content.restlet;
...
public class SanityTest extends ContentGatewayRestletResourceTestCase {
...
public static void main() {
}
}
在整个项目编译之后,SanityTest的类文件正在构建/private/classes/tests/com/myspace/gateway/content/restlet/SanityTest。阶级
我进入build/private/classes/tests并运行了“java-cp.com.myspace.gateway.content.restlet.SanityTest”,但出现了NoClassDefFound错误
请帮帮我
附言: 堆栈跟踪:
Exception in thread "main" java.lang.NoClassDefFoundError: com/myspace/gateway/content/ContentGatewayTestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.myspace.gateway.content.ContentGatewayTestCase
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 24 more
Could not find the main class: com.myspace.gateway.content.restlet.SanityTest. Program will exit.
# 1 楼答案
你跑了
你应该跑:
阅读此问答;A有关更多详细信息:
更新
根据stacktrace,问题是Java找不到
ContentGatewayTestCase
类。据推测,这是SanityTest
类所依赖的一个类。然而,源代码片段显示SanityTest
扩展了ContentGatewayRestletResourceTestCase
。您需要确定ContentGatewayTestCase
依赖项是否正确:如果是,则相应的“.class”文件需要与“SanityTest.class”文件位于同一目录中
无论哪种方式,您都可能在编译代码的方式上有问题